package com.itlong.cloud.sdk.dao;


import com.itlong.cloud.POJO.PO.*;
import com.itlong.cloud.abstracts.IAbstractBaseDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
* <desc>
*    云对讲SDK服务端用户持久层
* </desc>
*
* @createDate 2018-05-11
*/
@Mapper
@Repository
public interface ICloudTalkSDKServerUserDao {


    /**
     * <desc>
     *      申请开发者账号
     * <desc/>
     * @params   params   开发者账号信息
     *@return
     * @author JuGuang.S
     * @createDate 2018/05/11
     */
    void save(Map<String, Object> params);

    /**
     * <desc>
     *      保存用户_角色_项目关系
     * <desc/>
     * @params   roleProjectPOS   保存用户_角色_项目关系信息
     *@return
     * @author JuGuang.S
     * @createDate 2018/05/11
     */
    void saveRoleProject(List<PropertyRoleProjectPO> roleProjectPOS);

    /**
     * <desc>
     *      根据Appsecret查找物业账号用户
     * <desc/>
     * @param   appsecret   密钥
     *@return
     * @author JuGuang.S
     * @createDate 2018/05/11
     */
    PropertyUserInfoPO getPropertyUserByAppsecret(@Param("appsecret") String appsecret);

    /**
     * <desc>
     *      根据appid查找与其绑定的项目编号
     * <desc/>
     * @param   appId
     *@return
     * @author JuGuang.S
     * @createDate 2018/05/17
     */
    List<String> getProjectIdByParams(@Param("appId") String appId);


}
